home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / contrib / supported / xypic / src / xypoly.doc / node3_mn.html < prev    next >
Text File  |  1995-03-15  |  6KB  |  163 lines

  1.  
  2. <H4><A ID="SECTION00000030000000000000">
  3. Switches</A>
  4. </H4><#147#><#147#>
  5.  
  6. <P>
  7. <#148#><#148#>
  8.  
  9. <P>
  10.  
  11. The allowable switches are given in the following table:
  12.  
  13. <P>
  14. <BR>
  15. <tex2html_image_mark>#defs149#
  16. <BR>
  17.  
  18. <P>
  19. <BR>
  20. <tex2html_image_mark>#code160#
  21. <BR>
  22.  
  23. <P>
  24. Using |~;SPMlt;;SPMlt;<#176#>|;SPMlt;arrow;SPMgt;|<#176#>| or |~;SPMgt;;SPMlt;<#177#>|;SPMlt;arrow;SPMgt;|<#177#>| is most appropriate 
  25. when arrowheads are required on the sides or spokes, or when
  26. labels/breaks are required. Here ;SPMlt;arrow;SPMgt; is as in 
  27. figure~??g[xyarrow.doc:f.arrow], 
  28. so it can be used simply to specify the style of directional to be used.
  29. Thus |~;SPMlt;;SPMlt;<#178#><#178#>| sets each spoke as a default arrow,
  30. pointing outwards from the centre; |~;SPMlt;;SPMlt;<#679#>@<#179#>-<#179#><#679#>| suppresses the arrowhead,
  31. while |~;SPMgt;;SPMlt;<#680#>@<#180#><#180#><#680#>| uses an empty arrow along the sides.
  32. Labels and breaks are specified with |~;SPMlt;;SPMgt;<#181#>|...|<#181#>| and |~;SPMgt;;SPMgt;<#182#>|...|<#182#>|,
  33. where the |<#183#>|...|<#183#>| use the notation for a ;SPMlt;label;SPMgt;, 
  34. as in figure~??g[xyarrow.doc:f.path]. 
  35.  
  36. <P>
  37. When no tips or breaks are required then the switches |~;SPMlt;<#184#>|...|<#184#>| 
  38. and |~;SPMgt;<#185#>|...|<#185#>| are somewhat faster, since less processing is needed.
  39. Labels can still be specified with |~;SPMlt;;SPMgt;<#186#>|...|<#186#>| and |~;SPMgt;;SPMgt;<#187#>|...|<#187#>|,
  40. but now using the kernel's ;SPMlt;place;SPMgt; notation of figure~??g[xy.doc:f.pos].
  41. In fact any kernel code can be included using these switches. 
  42. With |~;SPMlt;;SPMgt;| the current <I>p</I> and <I>c</I> are the centre and vertex respectively,
  43. while for |~;SPMgt;;SPMgt;| they are the current vertex and the previous vertex.
  44. (The connection from vertex |;SPMquot;|;SPMlt;number;SPMgt;|;SPMquot;| to vertex |;SPMquot;1;SPMquot;| is done last.)
  45. The pyramid above is an example of how this can be used.
  46. Both |~;SPMlt;<#188#>|...|<#188#>| and |~;SPMlt;;SPMlt;<#189#>|;SPMlt;arrow;SPMgt;|<#189#>| can be
  47. specified together, but only the last will actually be used;
  48. similarly for |~;SPMgt;<#190#>|...|<#190#>| and |~;SPMgt;;SPMlt;<#191#>|;SPMlt;arrow;SPMgt;|<#191#>|. 
  49.  
  50. <P>
  51. <BR>
  52. <tex2html_image_mark>#code192#
  53. <BR>
  54. <P><tex2html_verbatim_mark>#math367#</P><DIV ALIGN="CENTER">
  55. <tex2html_image_mark>#tex2html_wrap_indisplay1253#
  56. </DIV><P></P>
  57.  
  58.  
  59. <P>
  60. Use of the |~=<#208#>|...|<#208#>| switch was described earlier.
  61. When using the |~:<#209#>|...|<#209#>| more can be done than just setting the base.
  62. In fact any kernel code can be supplied here. 
  63. It is processed prior to any other part of the polygon. 
  64. The graphics state has <I>c</I> at the centre of the polygon, 
  65. <I>p</I> at the origin of coordinates within the picture and 
  66. has basis unchanged from what has previously been established.
  67. The current point <I>c</I> will be reset to the centre following any code
  68. interpreted using this switch. 
  69.  
  70. <P>
  71. Note that |~!| was appended by |@@|, in order to indicate the end
  72. of the braced tokens. The macro |@| is the main parser,
  73. with |@SPOKES@| and |@SIDES@| handling the subcases
  74. for |~;SPMlt;| and |~;SPMgt;|.
  75.  
  76. <P>
  77. (
  78. @@<#817#><tex2html_comment_mark>79
  79. !@!<#210#>@@@<#210#><tex2html_comment_mark>80
  80. @@@<#211#>@@SPOKES@<#211#><tex2html_comment_mark>81
  81. @@@<#212#>@@SIDES@<#212#><tex2html_comment_mark>82
  82. @@@##1<#690#><tex2html_comment_mark>83
  83. @@ <#690#><tex2html_comment_mark>84
  84. :@:##1<#691#><tex2html_comment_mark>85
  85. @@ <#691#><tex2html_comment_mark>86
  86. @*##1<#793#>@@<#793#><tex2html_comment_mark>87
  87. @ <#817#>
  88.  
  89. <P>
  90. @@SPOKES@<#818#><tex2html_comment_mark>88
  91. @@@##1<#693#><tex2html_comment_mark>89
  92. @@ <#693#><tex2html_comment_mark>90
  93. @@@##1<#694#><tex2html_comment_mark>91
  94. @@ <#694#><tex2html_comment_mark>92
  95. @##1<#695#><tex2html_comment_mark>93
  96.   @@ <#220#><#220#>##1@@!<#221#>@@<#221#><#695#><tex2html_comment_mark>94
  97. @##1<#794#><tex2html_comment_mark>95
  98. @ @@<#794#><tex2html_comment_mark>96
  99. @ <#818#>
  100.  
  101. <P>
  102. @@SIDES@<#819#><tex2html_comment_mark>97
  103. @@@##1<#697#><tex2html_comment_mark>98
  104. @@ <#697#><tex2html_comment_mark>99
  105. @@@ ##1<#698#><tex2html_comment_mark>100
  106. @@ <#698#><tex2html_comment_mark>101
  107. @##1<#699#><tex2html_comment_mark>102
  108.   @@ <#227#><#227#>##1@@!<#228#>@@<#228#><#699#><tex2html_comment_mark>103
  109. @##1<#795#><tex2html_comment_mark>104
  110. @ @@<#795#><tex2html_comment_mark>105
  111. @ <#819#>
  112. )
  113.  
  114. <P>
  115. A further simplification exists for sides and spokes without ;SPMlt;arrow;SPMgt;s. 
  116. If ;SPMlt;tok;SPMgt; is a single character then |~;SPMgt;|;SPMlt;tok;SPMgt;, |~;SPMgt;<#230#>|;SPMlt;tok;SPMgt;|<#230#>|, |~;SPMgt;<#701#><#231#>|;SPMlt;tok;SPMgt;|<#231#><#701#>| 
  117. all specify the directional |<#232#>|;SPMlt;tok;SPMgt;|<#232#>|; similarly with the |~;SPMlt;| switch.
  118. On the other hand, compound directionals require all the braces,
  119. e.g. |~;SPMgt;<#702#><#233#>--<#233#><#702#>| and |~;SPMgt;<#703#>2<#234#>.<#234#><#703#>|. 
  120.  
  121. <P>
  122. This is achieved with the macro 
  123. |@#1#2#3#4@!#5| which handles the bare ;SPMlt;tok;SPMgt; case
  124. by adding braces around ;SPMlt;tok;SPMgt; which has been passed as |#3|, preceeding
  125. it with |#2|. This is then |
  126. )
  127.  
  128. <P>
  129.  
  130. <P><BR>
  131.  
  132. <P>
  133. After all switches have been processed, remaining tokens 
  134. are used to specify the ;SPMlt;object;SPMgt; for each vertex. 
  135. Such tokens will be used directly after a ||, 
  136. so can include object ;SPMlt;modifier;SPMgt;s as in figure~??g[xy.doc:f.object]. 
  137. If an ;SPMlt;object;SPMgt; has already been specified, using the |~*| switch, 
  138. then the following message will be written to the T<SMALL>E</SMALL>X log:
  139.  
  140. <P>
  141. <DIV class="CENTER">
  142. <#240#><TT>XY-pic Warning: vertex already specified, 
  143. discarding unused tokens:</TT><#240#>
  144.  
  145. </DIV>
  146. with tokens at the end indicating what remains unprocessed.
  147. Similarly extra tokens before the |<#242#>|...|<#242#>| generate a message:
  148.  
  149. <P>
  150. <DIV class="CENTER">
  151. |XY-pic Warning: discarding unused tokens: |
  152.  
  153. </DIV>
  154.  
  155. <P>
  156.